/*
	File:		SettingState.h
	Course:		SGP 1302
	Author:		Peter Nguyen
	Purpose:	CSettingState handles the main menu
*/

#pragma once
#include "IGameState.h"
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>

class CSGD_Direct3D;
class CSGD_DirectInput;
class CSGD_TextureManager;
class CSGD_XAudio2;


class CSettingState : public IGameState
{
public:
	//SINGLETON
	static CSettingState*	GetInstance( void );

	// IGameState Interface
	virtual		void	Enter	( void );
	virtual		void	Exit	( void );

	virtual		bool	Input	( void );
	virtual		void	Update	( float fElapsedTime );
	virtual		void	Render	( void );
	void HandleEvent(CEvent* pEvent);


private:
	//Hidden constructors / destructors / assignment operator
	CSettingState(void);
	virtual ~CSettingState(void);
	CSettingState(const CSettingState& );
	CSettingState& operator= (const CSettingState& );

	//SGD Wrappers
	CSGD_Direct3D*			m_pD3D;
	CSGD_DirectInput*		m_pDI;
	CSGD_TextureManager*	m_pTM;
	CSGD_XAudio2*			m_pXA;

	//Assets
	RECT m_rSliderBox;
	RECT m_rSlider;
	int m_nCursorPos;
	bool m_bIsWindowed;
	int m_nTextImageID;
	//Cursor member

	//Volume
	

	//sfx
	


	

};

